home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programmierung
/
Power-Programmierung (Tewi)(1994).iso
/
magazine
/
drdobbs
/
ddjcompr
/
hstest
/
src
/
tomlib.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-04-29
|
7KB
|
216 lines
# if _MSC_VER < 600
#define _fastcall
#endif
void far * dosalloc(long anzahl_bytes);
int dosfree(void far * memory_ptr);
int dosrealloc(void far * memory_ptr,long anzahl_bytes);
struct queue
{
unsigned short datalen;
unsigned short wrp; /* write pointer */
unsigned short rdp; /* read pointer */
unsigned short count; /* number of free chars */
unsigned short stop:1; /* nicht verwendet */
unsigned short xoffsend:1; /* XON / XOFF gesendet */
unsigned short reserved:14;
unsigned char data[1]; /* raw data */
} ;
typedef struct queue far * QUEUE;
QUEUE qopen (int queue_length_in_bytes);
int qwrite (QUEUE qptr,void* buffer,int anzbytes);
int qwritec(QUEUE qptr,char writeval);
int qwritei(QUEUE qptr,int writeval);
int qread (QUEUE qptr,void* buffer,int anzbytes);
int qreadc (QUEUE qptr);
int qreadi (QUEUE qptr);
# define qempty(QUEUE) (QUEUE->wrp == QUEUE->rdp)
# define qfree(QUEUE) (QUEUE->count)
int qclose (QUEUE qptr);
void qflush (QUEUE qptr);
#define T_PRALPHA 0
#define T_PRGRAFIK 1
#define T_PRCOPYSTART 2
#define T_PRCOPYEND 3
#define T_PRALPHASTART 4
#define T_PRALPHAEND 5
#define T_PRGELB 6
#define T_PRROT 7
#define T_PRBLAU 8
#define T_PRSCHW 9
#define T_PRGRLF 10
#define T_PRDISITALPHA 11
int t_print(char* buffer,int anzbytes,int printmode);
int t_print_clear(); /* clear output buffer */
int t_create(int (*) (void),int,... ); /* returns TASK ID */
void t_next(void); /* goto next task */
void t_nextn(int t_nextcount); /* goto next task, n times */
void t_sleep(int anz_milliseconds); /* sleep (milliseconds), res. TICKTIME */
int t_ownid(void); /* return your own ID number */
void t_delete(int taskid); /* delete TASK ID */
void ontimer (int,void (*) (void)); /* every tick call function */
void ontimer_inc (int* memptr); /* every tick increment var */
#define TICKTIME 55 /* 1 system interrupt = 55 millisec */
#define NORMAL 0x0a /* videoattribute */
#define INVERS 0x70
#define DUNKEL 0x02
#define BLINKEN 0x80
#define HINTERLEGT 0x2a
#define GRAU 0x07
#define SCHWARZ_CYAN 0x30
#define MAX_LINES 50
#define MAX_COLUMNS 132
#define V_MAXCOL 132
int v_dispats (int zeile,int spalte,char* buffer,int attribute);
int v_dispats_blank(int zeile,int spalte,char* buffer,int attribute,int length);
void v_dispat (int zeile,int spalte,char* buffer,int attribute,int length);
void v_dispatc (int zeile,int spalte,int c,int attribute);
void v_disset (int zeile,int spalte,char setval,int attribute,int length);
void vo_disset (int offset, char setval,int attribute,int length);
void v_disget (int zeile,int spalte,char* buffer,int length);
void vo_disget (int offset, char* buffer,int length);
void v_disgetw (int zeile,int spalte,int * buffer,int length);
void vo_disgetw (int offset, int * buffer,int length);
void v_dispatw (int zeile,int spalte,int * buffer,int length);
void vo_dispatw (int offset ,int * buffer,int length);
void v_cls (int attribute);
void v_cursto (int zeile,int spalte);
int v_printf (int zeile,int spalte,int attribute,char* formatstring,...);
void v_selpage (int pageno, int zeilen, int spalten);
void v_restorevideo(void);
void v_charset (int block,int zeichenhoehe,char far *zeichensatz_ptr);
void v_charload (int block,int first,int anzchars,int zeichenhoehe
,char far *zeichensatz_ptr);
void v_charread (int block,int first,char far * bufferptr);
void v_hexw (int zeile,int spalte,int* buffer,int attribute,int length);
int hexd(void *array);
int hexdn(register void *array,register int anz);
int hexsd(register void *dest,void *src,int anz);
#define V_USE_NORMCURS 0 /* v_param() */
#define V_USE_BLOCKCURS 1
#define V_USE_SHOWCURS 2
void v_param(int);
#define V_OUT(base,select,data) outpw(base,(select) | ((data) <<8))
long mikro_diff(void); /* return mikroseconds since last call */
long mikro_abs(void); /* return mikroseconds absolut since ?? */
long ticks_abs(void); /* same for system ticks = 865 nanoseconds */
void push (void*,int);
int pop (void*);
int readstr (int,int,int,char*,char*,int,int,int (*) (void) );
void checkchg(long *);
void nullchk (long *,long,int,void (*) (int,...));
void meicpyf (void far *destptr,void far *srcptr,int length);
void meisetf (void far *destptr,int value ,int length);
void meicpyfb(void far *destptr,void far *srcptr,int length);
int meicmpf (void far *destptr,void far *srcptr,int length); /* -1 or index */
int meixchg (void far *destptr,void far *srcptr,int length); /* -1 or index */
char *ignspace(char*);
int BIOS(int biosinterrupt,int functioncode,...);
extern char BIOS_FLAGS;
#define CARRY_FLAG 0x01
#define ZERO_FLAG 0x40
/* low memory defines */
#define __ACT_VIDEOMODE (*(unsigned char far *)0x00000449l)
#define __SHIFT_STATUS (*(unsigned char far *)0x00000417l)
#define __EXTSHIFT_STATUS (*(unsigned char far *)0x00000418l)
int far farcall(),far lfarcall();
void far *far pfarcall();
char *getargs(int*,char **,char*);
extern int far strm_init(unsigned int size);
extern void far strm_close(void );
extern void far strm_save (int handle);
extern int far strm_resume(int handle);
extern char far *far strm_search(int num);
extern int far strm_get(int num,char *buffer);
extern int far strm_append(char *buffer);
extern int far strm_delete(int num);
extern int far strm_deleten(int num,int anzlines);
#define DB(c) (*(char far *)0xb0000000l = c)
int is_prim(long);
int far_read (int handle,void far *buffer,int count);
int far_write (int handle,void far *buffer,int count);
#define MAXPATHLENGTH (64+1) // maximale laenge eines DOS - Filenamens
#define MAXNAMELENGTH (8+1) // laenge vor '.'
#define MAXEXTLENGTH (3+1) // laenge nach '.'
struct dl_list{
void *next,*prev;
};
dl_link(void *header,void *next);
dl_unlink(void *Z);
int far detab(register char *dest, register char *src, int tablen,int maxlinlen);
int far nonewline(register char *d);
extern unsigned int
v_attr_normal ,
v_attr_dunkel ,
v_attr_invers ,
v_attr_uline ;
#ifdef FILE
FILE *weopen(char *name,char *extension,int mode1,char *m1,...);
FILE *wedefopen(char *extension,char *open_mode);
#endif
#define OPEN_CURRENT 1
#define OPEN_WE75 2
#define OPEN_EXE 3
char *exename(void);
int get_volatile(void far *value);
void far *dv_get_segment(void far *ptr);
# define TRUE 1
# define FALSE 0
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
#define LENGTH(x) (sizeof(x)/sizeof(x[0]))